#ifndef EMBEDDED_2022_PLANT_H
#define EMBEDDED_2022_PLANT_H
#include "input_output.h"

struct window{
    int i;  // 编号
    bool self_loop;  // 是否支持自环回
    struct room *r;  // 车间
    int cost;  // 窗口费用系数
    bool prework[3]; // 预加工
};

struct room{
    int i;  // 编号
    int ka;           // 区域个数
    struct area **a;  // 区域
};

struct area{
    int i;  // 编号
    struct room *r;  // 车间
    int energy_type;  // 能源类型
};

struct instrument{
    int i;  // 编号
    int t;  // 类型
    int cost[5];  // 安装费用
    bool main;  // 核心流水线仪器

    bool fixed;  // 是否安装
    int w;  // 安装的窗口
    int w2;  // 安装的真实窗口
    int a;  // 安装的区域
};

extern int n_mainstream, n_window, n_room, n_area, n_instrument;
extern int **main_stream;
extern int *main_stream_colsize;
extern struct window **window_arr;
extern struct room **room_arr;
extern struct area **area_arr;
extern struct instrument **instrument_arr;

void construt_the_plant();
#endif
